package main

import (
	"fmt"
	"time"
)

func main() {
	// 无参数协成开启
	// 用go创建一个形参为空，返回值为空的一个函数
	/* go func() {
		defer fmt.Println("A.defer")

		func() {
			defer fmt.Println("B.defer")
			// 退出当前goroutine
			runtime.Goexit()
			fmt.Println("B")
		}()

		fmt.Println("A")
	}() */

	// 有参数有返回值协程
	go func(a int, b int) bool {
		fmt.Println("a = ", a, " b = ", b)
		return true
	}(10, 20)

	// 死循环 为了不让主协程退出的时候关闭子协程
	for {
		time.Sleep(1 * time.Second)
	}

}
